package com.ruoyi.hydrology.service.impl;

import java.util.List;
import java.util.stream.Collectors;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //添加
import com.ruoyi.hydrology.domain.Pslcdss;
import com.ruoyi.hydrology.dto.HydrologyDto;
import com.ruoyi.hydrology.mapper.PslcdssMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.hydrology.mapper.PslcddyMapper;
import com.ruoyi.hydrology.domain.Pslcddy;
import com.ruoyi.hydrology.service.IPslcddyService;

/**
 * 排水量基础信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-12-06
 */
@Service
public class PslcddyServiceImpl extends ServiceImpl<PslcddyMapper, Pslcddy> implements IPslcddyService //修改
{
    @Autowired
    private PslcddyMapper pslcddyMapper;
    @Autowired
    private PslcdssMapper pslcdssMapper;
    /**
     * 查询排水量基础信息
     * 
     * @param id 排水量基础信息主键
     * @return 排水量基础信息
     */
    @Override
    public Pslcddy selectPslcddyById(String id)
    {
        return pslcddyMapper.selectPslcddyById(id);
    }

    /**
     * 查询排水量基础信息列表
     * 
     * @param pslcddy 排水量基础信息
     * @return 排水量基础信息
     */
    @Override
    public List<Pslcddy> selectPslcddyList(Pslcddy pslcddy)
    {
        return pslcddyMapper.selectPslcddyList(pslcddy);
    }

    /**
     * 新增排水量基础信息
     * 
     * @param pslcddy 排水量基础信息
     * @return 结果
     */
    @Override
    public int insertPslcddy(Pslcddy pslcddy)
    {
        return pslcddyMapper.insertPslcddy(pslcddy);
    }

    /**
     * 修改排水量基础信息
     * 
     * @param pslcddy 排水量基础信息
     * @return 结果
     */
    @Override
    public int updatePslcddy(Pslcddy pslcddy)
    {
        return pslcddyMapper.updatePslcddy(pslcddy);
    }

    /**
     * 批量删除排水量基础信息
     * 
     * @param ids 需要删除的排水量基础信息主键
     * @return 结果
     */
    @Override
    public int deletePslcddyByIds(String[] ids)
    {
        return pslcddyMapper.deletePslcddyByIds(ids);
    }

    /**
     * 删除排水量基础信息信息
     * 
     * @param id 排水量基础信息主键
     * @return 结果
     */
    @Override
    public int deletePslcddyById(String id)
    {
        return pslcddyMapper.deletePslcddyById(id);
    }

    @Override
    public Pslcddy selectPslcddyByCode(String stationCode) {
        return pslcddyMapper.selectPslcddyByCode(stationCode);
    }

    @Override
    public List<HydrologyDto> getHydrology() {
        List<HydrologyDto> pslcddies = pslcddyMapper.getHydrology();
        List<HydrologyDto> collect = pslcddies.stream().map(pslcddy -> {
            Pslcdss pslcdss = pslcdssMapper.selectPslcdssByCode(pslcddy.getStationCode());
            pslcddy.setMonitorTime(pslcdss.getMonitorTime());
            pslcddy.setValue(pslcdss.getValue().toString());
            pslcddy.setMeasureName("排水量");
            pslcddy.setSensorType("1");
            return pslcddy;
        }).collect(Collectors.toList());
        return collect;
    }
}
